package com.ruoyi.system.domain;

import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 催化剂对象 mstn_catalysts
 * 
 * @author ruoyi
 * @date 2024-07-10
 */
@Data
public class MstnCatalysts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 催化剂id */
    private Long catalystsId;

    /** 催化剂名称 */
    @Excel(name = "催化剂名称")
    private String catalystsName;

    /** 催化剂类型号 */
    @Excel(name = "催化剂类型号")
    private String categoryName;

    /** 模块型号 */
    @Excel(name = "模块型号")
    private String moduleName;

    /**
     * 模块名称集合
     */
    private List<String> moduleNameList;

    /** 模块l */
    @Excel(name = "模块l")
    private BigDecimal moduleL;

    /** 模块w */
    @Excel(name = "模块w")
    private BigDecimal moduleW;

    /** 模块h */
    @Excel(name = "模块h")
    private BigDecimal moduleH;

    /** 每层催化剂净高度 */
    @Excel(name = "每层催化剂净高度")
    private BigDecimal catalystsH;

    /** 每个模块毛重 */
    @Excel(name = "每个模块毛重")
    private BigDecimal moduleKg;

    /** 误差率 */
    @Excel(name = "误差")
    private BigDecimal errorRate;

    /** 波纹宽度 */
    @Excel(name = "波纹宽度")
    private BigDecimal rippleW;

    /** 波纹高度 */
    @Excel(name = "波纹高度")
    private BigDecimal rippleH;

    /** 波纹板厚度 */
    @Excel(name = "波纹板厚度")
    private BigDecimal rippleThickness;

    /** 平板厚度 */
    @Excel(name = "平板厚度")
    private BigDecimal plateThickness;

    /** 节距 */
    @Excel(name = "节距")
    private BigDecimal pitch;

    /** 几何比表面积 */
    @Excel(name = "几何比表面积")
    private BigDecimal geometryAreaRate;

    /** 开孔率 */
    @Excel(name = "开孔率")
    private BigDecimal trepanRate;

    /** 磨损率 */
    @Excel(name = "磨损率")
    private BigDecimal wearRate;

    /** fm系数 */
    private BigDecimal fmCoefficient;

    /**
     * 摩擦阻力系数
     */
    private BigDecimal frictionalDrag;

    /** 催化剂图信息 */
    private List<MstnCatalystsCharts> mstnCatalystsChartsList;


    public MstnCatalysts(String categoryName, String catalystsName, String moduleName) {
        this.categoryName = categoryName;
        this.catalystsName = catalystsName;
        String[] moduleNames = moduleName.split(",");
        this.moduleNameList = Arrays.asList(moduleNames);
    }

    public MstnCatalysts() {
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("catalystsId", getCatalystsId())
            .append("catalystsName", getCatalystsName())
            .append("categoryName", getCategoryName())
            .append("moduleName", getModuleName())
            .append("moduleL", getModuleL())
            .append("moduleW", getModuleW())
            .append("moduleH", getModuleH())
            .append("catalystsH", getCatalystsH())
            .append("moduleKg", getModuleKg())
            .append("rippleW", getRippleW())
            .append("rippleH", getRippleH())
            .append("rippleThickness", getRippleThickness())
            .append("plateThickness", getPlateThickness())
            .append("pitch", getPitch())
            .append("geometryAreaRate", getGeometryAreaRate())
            .append("trepanRate", getTrepanRate())
            .append("wearRate", getWearRate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("mstnCatalystsChartsList", getMstnCatalystsChartsList())
            .toString();
    }
}
